/************************************************
 * 												*
 * Project	:	Family Entertainment 			*
 * Source	:	Business Class Service 			*
 * Owner	:	Vially Flores					*
 * 												*
 ************************************************/

package upcweb.negocio;

import java.util.ArrayList;

import upcweb.dao.ServicioDAO;
import upcweb.exception.DAOExcepcion;
import upcweb.modelo.ClsServicio;
import upcweb.modelo.ClsTipoServicio;
import upcweb.util.ConexionBD;

public class BsGestionServicio {

	public ClsServicio insertar(ClsServicio oServicio)throws DAOExcepcion{
	
		ServicioDAO oDao=new ServicioDAO();
		if(this.getMensajeValidar(oServicio)){
			return oDao.insertar(oServicio);
		}else{
			throw new DAOExcepcion("Datos no Validos");		
		}				
	}
	
	// Luis Olivera
	public ArrayList<ClsServicio> listarPorTipo(ClsTipoServicio tipo)throws DAOExcepcion {
		ServicioDAO oDao=new ServicioDAO();
	return oDao.listarPorTipo(tipo);	
	}
	
	public ArrayList<ClsServicio> listar()throws DAOExcepcion {
		ServicioDAO oDao=new ServicioDAO();
	return oDao.listar();	
	}
	 
	public boolean actualizar(ClsServicio oServicio) throws DAOExcepcion {
		ServicioDAO oDao=new ServicioDAO();
		return oDao.actualizar(oServicio);
	}
	
	public boolean eliminar(int idservicio) throws DAOExcepcion {
		ServicioDAO oDao=new ServicioDAO();
		ClsServicio oServicio=this.buscar(idservicio);
		
		if(oServicio!=null){
			oServicio.setState(false);
			return oDao.actualizar(oServicio);
		}else{
			throw new DAOExcepcion("No se encuentra el Servicio");		
		}
		//return false;
		
	}
	
	public ClsServicio buscar(int idServicio)throws DAOExcepcion {
		ServicioDAO oDao=new ServicioDAO();
		return oDao.buscar(idServicio);
	}
	
	private boolean getMensajeValidar(ClsServicio oServcio){
		
		boolean est=true;
		String msj="";
		try{
			System.out.println("Comprobando datos No Vacios");
			if(oServcio.getName()==null || oServcio.getName().equals("")){
				msj+=("Ingrese Nombre al Servicio");	
				est=false;
			}
			if(oServcio.getDescription()==null || oServcio.getDescription().equals("")){
				msj+=("Ingrese Descripcion al Servicio");	
				est=false;
			}
			if( oServcio.getIdTypeService()==0){
				msj+=("Ingrese Tipo de Servicio");		
				est=false;
			}
			if(oServcio.getImageURL()==null || oServcio.getImageURL().equals("")){
				msj+=("Ingrese Imagen al Servicio");	
				est=false;
			}
			if(oServcio.getCostPerPerson()==0){
				msj+=("Ingrese Costo al Servicio");	
				est=false;
			}
			
			if(!est){
				throw new DAOExcepcion(msj);	
			}
			
		}catch (Exception e) {
			e.printStackTrace();			
		}
		return est;
	}
	/******  02/12/2012
	 * @throws DAOExcepcion ******/
	public ArrayList<ClsServicio> listarxFiltro(String filtro[]) throws DAOExcepcion{
		ServicioDAO oDao=new ServicioDAO();
		return oDao.listarFiltros(filtro);	
	}
}
